import java.util.LinkedList;
import java.util.Queue;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 17655
 * Date: 2025-04-15
 * Time: 16:03
 */
public class test1 {
    // 简单来说就是把队列当成一个环用，每次都把除了队列末端的元素都出队然后依次加到原本末端元素的后端，
    // 这样原本最后的元素就被推到了队列最前端，实现了 Last In First Out。

    Queue<Integer> q1;
    Queue<Integer> q2;

    public void MyStack() {
        q1 = new LinkedList<>();
        q2 = new LinkedList<>();
    }

    public void push(int x) {
        q2.offer(x);
        while(!q1.isEmpty()){
            q2.offer(q1.poll());
        }
        // 交换q1和q2
        Queue<Integer> tmp = q1;
        q1 = q2;
        q2 = tmp;
    }

    public int pop() {
        return q1.poll();
    }

    public int top() {
        return q1.peek();
    }

    public boolean empty() {
        return q1.isEmpty();
    }
}
